From: Richard M. Stallman Date: Sun, 30 May 1993 02:46:05 +0000 (+0000) Subject: (XTread_socket): For UnmapNotify, if frame was visible, X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1^2~5^2~95776 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=9319ae23ea3ce0d390111ad8aaf3abbaf8211cff;p=emacs.git (XTread_socket): For UnmapNotify, if frame was visible, mark it now as iconified. (x_make_frame_invisible): If async_iconic, work does need to be done. Don't let this frame stay highlighted. (x_iconify_frame): Don't let this frame stay highlighted. --- diff --git a/src/xterm.c b/src/xterm.c index db0f61e8f1d..86b66f8fc84 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -2813,6 +2813,12 @@ XTread_socket (sd, bufp, numchars, waitp, expected) disabled; you don't want to spend time updating a display that won't ever be seen. */ f->async_visible = 0; + /* The window manager never makes a window invisible + ("withdrawn"); all it does is switch between visible + and iconified. Frames get into the invisible state + only through x_make_frame_invisible. + if (FRAME_VISIBLE_P (f) || FRAME_ICONIFIED_P (f)) + f->async_iconified = 1; } break; @@ -4280,7 +4286,11 @@ x_make_frame_invisible (f) { int mask; - if (! f->async_visible) + /* Don't keep the highlight on an invisible frame. */ + if (x_highlight_frame == f) + x_highlight_frame = 0; + + if (! f->async_visible && ! f->async_iconified) return; BLOCK_INPUT; @@ -4341,6 +4351,10 @@ x_iconify_frame (f) { int mask; + /* Don't keep the highlight on an invisible frame. */ + if (x_highlight_frame == f) + x_highlight_frame = 0; + if (f->async_iconified) return;